home *** CD-ROM | disk | FTP | other *** search
- /* software tools format program -- C version -- header file
- * source: roff.h
- * version: November 26, 1981.
- */
-
- /* contains the following common blocks:
-
- ctemp
- cparam
- cpage
- cout
- cnr
- cfiles
- cdefio
- cmac
- */
-
-
- /* define PAGECONTROL if you want format to output a
- * page eject character (CNTRL-L) rather than count
- * lines to finish off a page.
- */
-
- /* comment out -----
- #define PAGECONTROL 1
- ----- end comment out */
-
-
- /* define size of important data objects */
-
- #define MAXLINE 400
- #define MAXDEF 400
- #define MAXNAME 400
- #define INSIZE 400
- #define MAXOUT 400
- #define PBSIZE 400
-
- /* define special characters visible to the user */
-
- #define ARGFLAG '$'
- #define PAGENUM '#'
- #define CURRENTDATE '%'
-
- /* define default settings of parameters */
-
- #define PAGEJECT FF /* FF is ASCII formfeed (control-L) */
- #define PAGEWIDTH 65
- #define PAGELEN 66
-
- /* define return codes and other values */
-
- #define LEFT 1
- #define CENTER 2
- #define RIGHT 3
- #define STARTU 1 /* start underscoring */
- #define STOPU 2 /* stop underscoring */
-
-
- /* these variable were originally local variables
- * initialized with data statements.
- */
-
- int cuflag; /* cuflg in text() */
- int dir; /* dir in spread() */
- int putflag; /* cuflg in put() */
-
- /* temporary buffers -- from common block ctemp */
-
- char tbuf1 [MAXLINE]; /* for use by puttl and tabs */
- char tbuf2 [MAXLINE];
- char ttl [MAXLINE];
-
-
- /* misc. line info -- from common block cparam */
-
- int fill; /* flag: fill; init = YES */
- int lsval; /* line spacing; init = 1 */
- int inval; /* indent; >= 0; init = 0 */
- int rmval; /* right margin; init = PAGEWIDTH = 60 */
- int tival; /* current temporary indent; init = 0 */
- int ceval; /* number of lines to center; init = 0 */
- int ulval; /* number of lines to underline; init = 0 */
- int boval; /* number of lines to boldface; init = 0 */
- char cchar; /* line control character; init = PERIOD */
- int tjust [3]; /* justification types for heads and foots */
- /* init = LEFT, CENTER, RIGHT */
- int bsval; /* number of lines to blank suppress; init=0 */
- int rjust; /* flag: right justify filled lines */
- /* init = YES */
- int cuval; /* number of lines to continuously underline */
- /* init = 0 */
- int tabs [INSIZE]; /* tab stops; init every 8 spaces */
-
-
- /* misc. page info -- from common block cpage */
-
- int curpag; /* current output page number; init = 0 */
- int newpag; /* next output page number; init = 1 */
- int lineno; /* next line to be printed; init = 0 */
- int plval; /* page length in lines; init = PAGELEN = 66 */
- int m1val; /* margin before and including header */
- int m2val; /* margin after header */
- int m3val; /* margin after last text line */
- int m4val; /* bottom margin, including footer */
- int bottom; /* last live line on page */
- /* always equal to plval - m3val - m4val */
- char ehead [MAXLINE]; /* top of page title for even pages */
- /* init = NEWLINE */
- char ohead [MAXLINE]; /* top of page title for odd pages */
- int ehlim [2]; /* left,right margins for even header */
- /* init = inval, rmval */
- int ohlim [2]; /* left,right margins for odd header */
- /* init = inval, rmval */
- char efoot [MAXLINE]; /* bot of page title for even pages */
- /* init = NEWLINE */
- char ofoot [MAXLINE]; /* bot of page title for odd pages */
- /* init = NEWLINE */
- int eflim [2]; /* left,right margins for even footer */
- /* init = inval, rmval */
- int oflim [2]; /* left,right margins for odd footer */
- /* init = inval, rmval */
- int stopx; /* flag for pausing between pages */
- int frstpg; /* first page to begin printing with */
- int lastpg; /* last page to be printed */
- int print; /* print page flag */
- int offset; /* offset whole page by this much */
- /* init = 0 */
-
-
- /* output lines and related info -- from common block cout */
-
- int outp; /* last char position in outbuf; init = 0 */
- int outw; /* width of text in outbuf; init = 0 */
- int outwds; /* number of words in outbuf; init = 0 */
- char outbuf [MAXOUT]; /* lines to be filled collect here */
- /* word in outbuf; init=0 */
-
-
- /* number registers -- from common block cnr */
-
- int nr [26]; /* number registers a..z */
-
-
- /* list of input files -- from common block cfiles */
-
- int infile [SYS_STD + MAXOFILES]; /* file descriptor stack */
- int level; /* current file is infile[level] */
-
-
- /* pushed-back input characters -- from common block cdefio */
-
- int bp; /* next available character; init = 0 */
- char pbbuf [PBSIZE]; /* pushed-back characters */
-
-
- /* symbol table for macros -- from common block cmac */
-
- char * mactbl; /* symbol table containing macros */
- infile [SYS_STD + MAXOFILES]; /* file descriptor stack */
- int level; /* current file is infile[level] */
-
-
- /* pushed-back input characters -- from common block cdefio */
-
- int bp; /* next available character; init = 0 */
- char pbbuf [PBSIZE]; /